package net.wds.ssbus.modules.ssbus.service.impl;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import net.wds.ssbus.modules.ssbus.mapper.TbSsbusChannelMapper;
import net.wds.ssbus.modules.ssbus.mapper.TbSsbusTranslatorMapper;
import net.wds.ssbus.modules.ssbus.pojo.TbSsbusChannelEntrty;
import net.wds.ssbus.modules.ssbus.pojo.TbSsbusTranslatorEntrty;
import net.wds.ssbus.modules.ssbus.service.TbSsbusTranslatorService;
import net.wds.ssbus.modules.sys.controller.AbstractController;
import net.wds.ssbus.modules.sys.entity.SysUserEntity;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;
import java.util.Date;
import java.util.List;

@Service
public class TbSsbusTranslatorImp extends AbstractController implements TbSsbusTranslatorService {

    @Resource
    private TbSsbusTranslatorMapper tbSsbusTranslatorMapper;

    @Resource
    private TbSsbusChannelMapper tbSsbusChannelMapper;

    @Override
    public IPage<TbSsbusTranslatorEntrty> list(int pageNo, int pageSize, String key) {
        Page<TbSsbusTranslatorEntrty> page = new Page(pageNo,pageSize);
        IPage<TbSsbusTranslatorEntrty> list=tbSsbusTranslatorMapper.list(page,key);
        for(TbSsbusTranslatorEntrty tb: list.getRecords()){
            String code =tbSsbusChannelMapper.dbtypeString(tb.getFromtype());
            String code1 =tbSsbusChannelMapper.dbtypeString(tb.getTotype());
            tb.setFromtypeString(code);
            tb.setTotypeString(code1);
        }

        return list;
    }

    @Override
    public void saveOrUpdate(TbSsbusTranslatorEntrty tbSsbusTranslatorEntrty) {
        SysUserEntity u=getUser();
        if(tbSsbusTranslatorEntrty.getId()!=null){
            tbSsbusTranslatorEntrty.setEditTime(new Date());
            tbSsbusTranslatorEntrty.setEditUser(u.getUsername());
            tbSsbusTranslatorMapper.update(tbSsbusTranslatorEntrty);
        }
        else{
            tbSsbusTranslatorEntrty.setAddTime(new Date());
            tbSsbusTranslatorEntrty.setAddUser(u.getUsername());
            tbSsbusTranslatorMapper.save(tbSsbusTranslatorEntrty);
        }
    }

    @Override
    public List<TbSsbusTranslatorEntrty> getTbSsbusTranslatorList() {
        return tbSsbusTranslatorMapper.getTbSsbusTranslatorList();
    }

    @Override
    public TbSsbusTranslatorEntrty getById(Integer id) {
        return tbSsbusTranslatorMapper.getById( id);
    }

    @Override
    public void removeById(Long id) {
        tbSsbusTranslatorMapper.removeById(id);
    }

    @Override
    public void deletes(Long[] id) {
        tbSsbusTranslatorMapper.deletes(id);
    }
}
